package com.njcs.treeset;

/**
 * @author Sam.Lee E-mail:lishanman2007@163.com
 * @version Created：Nov 1, 2011 3:13:04 PM
 */
public class Customer implements Comparable {
	private String name;

	private int age;

	public Customer(String name, int age) {
		this.age = age;
		this.name = name;
	}

	public int getAge() {
		return age;
	}

	public void setAge(int age) {
		this.age = age;
	}

	public String getName() {
		return name;
	}

	public void setName(String name) {
		this.name = name;
	}

	public boolean equals(Object obj) {
		if (this == obj)
			return true;
		if (!(obj instanceof Customer))
			return false;
		final Customer other = (Customer) obj;

		if (this.name.equals(other.getName()) && this.age == other.getAge())
			return true;
		else
			return false;
	}

	public int compareTo(Object o) {
		Customer other = (Customer) o;

		// 先按照name属性排序
		if (this.name.compareTo(other.getName()) > 0)
			return 1;
		if (this.name.compareTo(other.getName()) < 0)
			return -1;

		// 在按照age属性排序
		if (this.age > other.getAge())
			return 1;
		if (this.age < other.getAge())
			return -1;
		return 0;
	}

	public int hashCode() {
		int result;
		result = (name == null ? 0 : name.hashCode());
		result = 29 * result + age;
		return result;
	}
}
